Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.


QTRS
  ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.

Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISNELIST(V) → ACTIVATE(V)
__1(__(X, Y), Z) → __1(X, __(Y, Z))
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → ISQID(activate(I))
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(I)
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISNEPAL(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
ACTIVATE(n__o) → O
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ACTIVATE(n__a) → A
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(P)
ISNELIST(V) → ISQID(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
__1(__(X, Y), Z) → __1(Y, Z)
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ACTIVATE(n__u) → U
ACTIVATE(n____(X1, X2)) → __1(activate(X1), activate(X2))
ISPAL(V) → ISNEPAL(activate(V))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__isPal(X)) → ISPAL(X)
ACTIVATE(n__nil) → NIL
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
AND(tt, X) → ACTIVATE(X)
ISPAL(V) → ACTIVATE(V)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ACTIVATE(n__i) → I
ACTIVATE(n__e) → E
ISNEPAL(V) → ISQID(activate(V))
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISNELIST(V) → ACTIVATE(V)
__1(__(X, Y), Z) → __1(X, __(Y, Z))
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → ISQID(activate(I))
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(I)
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISNEPAL(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
ACTIVATE(n__o) → O
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ACTIVATE(n__a) → A
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(P)
ISNELIST(V) → ISQID(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
__1(__(X, Y), Z) → __1(Y, Z)
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ACTIVATE(n__u) → U
ACTIVATE(n____(X1, X2)) → __1(activate(X1), activate(X2))
ISPAL(V) → ISNEPAL(activate(V))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__isPal(X)) → ISPAL(X)
ACTIVATE(n__nil) → NIL
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
AND(tt, X) → ACTIVATE(X)
ISPAL(V) → ACTIVATE(V)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ACTIVATE(n__i) → I
ACTIVATE(n__e) → E
ISNEPAL(V) → ISQID(activate(V))
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs with 10 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
QDP
            ↳ QDPOrderProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

__1(__(X, Y), Z) → __1(Y, Z)
__1(__(X, Y), Z) → __1(X, __(Y, Z))

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


__1(__(X, Y), Z) → __1(Y, Z)
__1(__(X, Y), Z) → __1(X, __(Y, Z))
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial interpretation [25,35]:

POL(__(x1, x2)) = 4 + (2)x_1 + (2)x_2   
POL(__1(x1, x2)) = (9/4)x_1   
POL(n____(x1, x2)) = 7/2 + (13/4)x_1 + (4)x_2   
POL(nil) = 0   
The value of delta used in the strict ordering is 9.
The following usable rules [17] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ PisEmptyProof
          ↳ QDP

Q DP problem:
P is empty.
The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
QDP
            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(I)
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISNEPAL(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(P)
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ISPAL(V) → ISNEPAL(activate(V))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__isPal(X)) → ISPAL(X)
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
AND(tt, X) → ACTIVATE(X)
ISPAL(V) → ACTIVATE(V)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(I)
ISNEPAL(V) → ACTIVATE(V)
ISNEPAL(n____(I, n____(P, I))) → ACTIVATE(P)
ISPAL(V) → ACTIVATE(V)
The remaining pairs can at least be oriented weakly.

ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ISPAL(V) → ISNEPAL(activate(V))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__isPal(X)) → ISPAL(X)
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
AND(tt, X) → ACTIVATE(X)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)
Used ordering: Polynomial interpretation [25,35]:

POL(i) = 1   
POL(n__u) = 3/4   
POL(__(x1, x2)) = (4)x_1 + x_2   
POL(n__i) = 1   
POL(activate(x1)) = x_1   
POL(and(x1, x2)) = x_2   
POL(n__nil) = 0   
POL(n__a) = 4   
POL(tt) = 0   
POL(ISPAL(x1)) = 1 + (3)x_1   
POL(AND(x1, x2)) = x_2   
POL(n__isList(x1)) = (2)x_1   
POL(nil) = 0   
POL(ACTIVATE(x1)) = x_1   
POL(a) = 4   
POL(isList(x1)) = (2)x_1   
POL(ISNELIST(x1)) = (2)x_1   
POL(n__isPal(x1)) = 1 + (4)x_1   
POL(e) = 0   
POL(n__e) = 0   
POL(isNePal(x1)) = 1 + (4)x_1   
POL(n____(x1, x2)) = (4)x_1 + x_2   
POL(o) = 2   
POL(isQid(x1)) = 0   
POL(n__isNeList(x1)) = (2)x_1   
POL(isPal(x1)) = 1 + (4)x_1   
POL(n__o) = 2   
POL(u) = 3/4   
POL(isNeList(x1)) = (2)x_1   
POL(ISLIST(x1)) = (2)x_1   
POL(ISNEPAL(x1)) = 1 + (3)x_1   
The value of delta used in the strict ordering is 1.
The following usable rules [17] were oriented:

activate(n____(X1, X2)) → __(activate(X1), activate(X2))
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isPal(V) → isNePal(activate(V))
activate(n__isPal(X)) → isPal(X)
in__i
on__o
un__u
activate(n__nil) → nil
activate(n__u) → u
activate(X) → X
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
isList(n__nil) → tt
__(nil, X) → X
isNeList(V) → isQid(activate(V))
isPal(n__nil) → tt
isNePal(V) → isQid(activate(V))
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__e) → tt
isQid(n__a) → tt
isList(X) → n__isList(X)
__(X1, X2) → n____(X1, X2)
niln__nil
isQid(n__u) → tt
en__e
an__a
isPal(X) → n__isPal(X)
isNeList(X) → n__isNeList(X)



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISPAL(V) → ISNEPAL(activate(V))
ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ACTIVATE(n__isPal(X)) → ISPAL(X)
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
AND(tt, X) → ACTIVATE(X)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


ACTIVATE(n____(X1, X2)) → ACTIVATE(X1)
ISLIST(V) → ISNELIST(activate(V))
ACTIVATE(n____(X1, X2)) → ACTIVATE(X2)
ISPAL(V) → ISNEPAL(activate(V))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
ISNELIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isNeList(activate(V2)))
ACTIVATE(n__isPal(X)) → ISPAL(X)
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ISLIST(n____(V1, V2)) → AND(isList(activate(V1)), n__isList(activate(V2)))
ISNEPAL(n____(I, n____(P, I))) → AND(isQid(activate(I)), n__isPal(activate(P)))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ISLIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)
The remaining pairs can at least be oriented weakly.

ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
AND(tt, X) → ACTIVATE(X)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ACTIVATE(n__isList(X)) → ISLIST(X)
Used ordering: Polynomial interpretation [25,35]:

POL(i) = 0   
POL(n__u) = 0   
POL(__(x1, x2)) = 1 + (5/4)x_1 + x_2   
POL(n__i) = 0   
POL(activate(x1)) = x_1   
POL(and(x1, x2)) = x_2   
POL(n__nil) = 4   
POL(n__a) = 0   
POL(tt) = 0   
POL(ISPAL(x1)) = 1/4 + (2)x_1   
POL(AND(x1, x2)) = 2 + (1/2)x_2   
POL(n__isList(x1)) = 4 + (4)x_1   
POL(nil) = 4   
POL(ACTIVATE(x1)) = 2 + (1/2)x_1   
POL(a) = 0   
POL(isList(x1)) = 4 + (4)x_1   
POL(ISNELIST(x1)) = 2 + (2)x_1   
POL(n__isPal(x1)) = 1/4 + (4)x_1   
POL(e) = 0   
POL(n__e) = 0   
POL(isNePal(x1)) = (4)x_1   
POL(n____(x1, x2)) = 1 + (5/4)x_1 + x_2   
POL(o) = 1/4   
POL(isQid(x1)) = (4)x_1   
POL(n__isNeList(x1)) = (4)x_1   
POL(isPal(x1)) = 1/4 + (4)x_1   
POL(n__o) = 1/4   
POL(u) = 0   
POL(isNeList(x1)) = (4)x_1   
POL(ISLIST(x1)) = 4 + (2)x_1   
POL(ISNEPAL(x1)) = (2)x_1   
The value of delta used in the strict ordering is 1/4.
The following usable rules [17] were oriented:

activate(n____(X1, X2)) → __(activate(X1), activate(X2))
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isPal(V) → isNePal(activate(V))
activate(n__isPal(X)) → isPal(X)
in__i
on__o
un__u
activate(n__nil) → nil
activate(n__u) → u
activate(X) → X
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
isList(n__nil) → tt
__(nil, X) → X
isNeList(V) → isQid(activate(V))
isPal(n__nil) → tt
isNePal(V) → isQid(activate(V))
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__e) → tt
isQid(n__a) → tt
isList(X) → n__isList(X)
__(X1, X2) → n____(X1, X2)
niln__nil
isQid(n__u) → tt
en__e
an__a
isPal(X) → n__isPal(X)
isNeList(X) → n__isNeList(X)



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
              ↳ QDP
                ↳ QDPOrderProof
QDP
                    ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

ACTIVATE(n__isList(X)) → ISLIST(X)
ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNELIST(V) → ACTIVATE(V)
AND(tt, X) → ACTIVATE(X)
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
              ↳ QDP
                ↳ QDPOrderProof
                  ↳ QDP
                    ↳ DependencyGraphProof
QDP
                        ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

ACTIVATE(n__isNeList(X)) → ISNELIST(X)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNELIST(V) → ACTIVATE(V)
AND(tt, X) → ACTIVATE(X)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


ACTIVATE(n__isNeList(X)) → ISNELIST(X)
The remaining pairs can at least be oriented weakly.

ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
ISNELIST(V) → ACTIVATE(V)
AND(tt, X) → ACTIVATE(X)
Used ordering: Polynomial interpretation [25,35]:

POL(i) = 5/4   
POL(n__u) = 3   
POL(__(x1, x2)) = 9/4 + x_1 + (1/4)x_2   
POL(n__i) = 11/4   
POL(activate(x1)) = 0   
POL(n__nil) = 2   
POL(and(x1, x2)) = 4 + (3/4)x_1   
POL(n__a) = 13/4   
POL(tt) = 1/2   
POL(AND(x1, x2)) = x_2   
POL(n__isList(x1)) = 0   
POL(nil) = 7/4   
POL(ACTIVATE(x1)) = (1/4)x_1   
POL(a) = 7/2   
POL(isList(x1)) = (1/4)x_1   
POL(ISNELIST(x1)) = (1/4)x_1   
POL(n__isPal(x1)) = 15/4 + (15/4)x_1   
POL(e) = 7/4   
POL(n__e) = 11/4   
POL(isNePal(x1)) = 3/2 + (13/4)x_1   
POL(n____(x1, x2)) = (9/4)x_1 + (1/2)x_2   
POL(o) = 5/4   
POL(isQid(x1)) = 13/4 + (5/4)x_1   
POL(n__isNeList(x1)) = 2 + x_1   
POL(isPal(x1)) = 15/4 + (4)x_1   
POL(n__o) = 1   
POL(u) = 5/4   
POL(isNeList(x1)) = 2 + (4)x_1   
The value of delta used in the strict ordering is 1/2.
The following usable rules [17] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
              ↳ QDP
                ↳ QDPOrderProof
                  ↳ QDP
                    ↳ DependencyGraphProof
                      ↳ QDP
                        ↳ QDPOrderProof
QDP
                            ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → AND(isNeList(activate(V1)), n__isList(activate(V2)))
AND(tt, X) → ACTIVATE(X)

The TRS R consists of the following rules:

__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
isNeList(n____(V1, V2)) → and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(n____(V1, V2)) → and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V) → isQid(activate(V))
isNePal(n____(I, n____(P, I))) → and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V) → isNePal(activate(V))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
niln__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
an__a
en__e
in__i
on__o
un__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 0 SCCs with 3 less nodes.